Page({
  data: {
    loginCode: "",
    userInfo: {},
    hasUserInfo: false,
    canIUseGetUserProfile: false,
    phone: '', // 用户输入的手机号
    phoneValid: false // 手机号是否有效
  },

  // 监听输入
  onInputPhone(e) {
    const phone = e.detail.value;
    const isValid = /^1[3-9]\d{9}$/.test(phone); // 简单验证手机号格式
    this.setData({
      phone,
      phoneValid: isValid
    });
  },

  // 方法1、按手机号查询
  searchByPhone() {
    if (!this.data.phoneValid) return;
    // 跳转到项目列表页
    wx.navigateTo({
      url: `/pages/project/project?phone=${encodeURIComponent(this.data.phone)}`
    });
  },

  // 获取手机号回调
  onGetPhoneNumber(e) {
    if (e.detail.errMsg === 'getPhoneNumber:ok') {
      // 获取到加密数据
      const {
        encryptedData,
        iv
      } = e.detail;
      // 发送到后端解密
      wx.request({
        url: 'https://your-server.com/api/getPhoneNumber',
        method: 'POST',
        data: {
          encryptedData,
          iv,
          code: this.data.loginCode // 需要先获取 code
        },
        success(res) {
          console.log('手机号解密结果:', res.data.phoneNumber);
        }
      });
    } else {
      console.error('用户拒绝授权:', e.detail);
    }
  },
  onLoad() {
    if (wx.getUserProfile) {
      this.setData({
        canIUseGetUserProfile: true
      })
    }
    wx.login({
      success: (res) => {
        console.log(res)
        this.setData({
          loginCode: res.code
        });
      },
    })
  },
  getUserProfile(e) {
    // 推荐使用wx.getUserProfile获取用户信息，开发者每次通过该接口获取用户个人信息均需用户确认
    // 开发者妥善保管用户快速填写的头像昵称，避免重复弹窗
    wx.getUserProfile({
      desc: '用于完善会员资料', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
      success: (res) => {
        console.log(res)
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true
        })
      }
    })
  },
  getUserInfo(e) {
    // 不推荐使用getUserInfo获取用户信息，预计自2021年4月13日起，getUserInfo将不再弹出弹窗，并直接返回匿名的用户个人信息
    this.setData({
      userInfo: e.detail.userInfo,
      hasUserInfo: true
    })
  },
})